﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Dream
{
    class Program
    {

        static void Main(string[] args)
        {
            /*            编写一个程序，以实现机器人的层次结构，此层次结构将至少包含抽象类机器人类Robot、
             *            炒菜机器人类CookRobot、传菜机器人类DeliveryRobot。
            Robot类应包含机器人姓名name字段、机器人工作的方法Working()，该方法应该在子类中被实现
            ，机器人工作的方式很多，所以Working()方法应该被定义为抽象方法。
            可以在CookRobot中添加一个代表菜的类型的字段，用枚举类型；在DeliveryRobot中添加
            一个代表连续工作时长的字段hours。CookRobot和DeliveryRobot应实现具体的Working()方法。
            在主类中定义一个方法，形参数据类型是string，返回值数据类型是Robot，方法中实现如果传入的字符串是“炒菜”，
            那就返回CookRobot的实例（当然是要用Robot的引用指向的），如果传入的字符串是“传菜”，那就返回DeliveryRobot的实例。
            Main方法中：用户输入所选择的机器人的功能，根据用户的输入Robot执行对应的功能*/
            Console.WriteLine("请选择你需要机器人的功能：1、炒菜 2、传菜");
            int a = int.Parse(Console.ReadLine());
            switch (a)
            {
                case 1:
                    CookRobot cb = new CookRobot("炒菜机器人", RobotTybe.Cook, "我抄的菜，厉不厉害");
                    cb.Working();

                    break;
                case 2:
                    DeliveryRobot dr = new DeliveryRobot("传菜机器人", RobotTybe.Delivery, "传菜的速度很快");
                    dr.Working();
                    break;
                default:
                    break;
            }

        }
    }   
}